Being readily available for telephone contact has become increasingly important for a growing number of people who have a significant need to be reachable regardless of their location. Many such persons have a telephone for business, a telephone for home, a mobile cellular telephone in the car, a transportable telephone for personal wear, as well as stations providing telephone service through computers. Business people and professionals at times have multiple offices and may additionally work at a home office. All of these telephones and computer stations generally have different telephone numbers and Internet addresses. This requires a caller to know or look up multiple numbers and addresses, and frequently to make multiple calls in order to reach a person.
While there are several telephone equipment features and telephone company services designed to ease the problem of multiple telephone numbers, they do not solve all such problems. For example, call forwarding provides call redirection from one telephone to another. However, once the subscriber activates call forwarding, he or she cannot answer the primary telephone until the feature is deactivated. Additionally, calls can only be forwarded to one telephone, so that the user must know where he or she is going to be in order to forward calls effectively. Without remote activation, subscribers must turn on call forwarding from their primary telephone.
A second attempt to solve this problem requires the addition of expensive customer premises equipment connected to the primary telephone and either a second telephone line or three-way calling. In this system, when a call comes in, the system sets up a three-way call to a pre-programmed telephone number, and either simultaneously alerts the attached telephone and the remote telephone or alerts the remote telephone after a predetermined number of rings. The system determines whether the attached telephone or the remote telephone answers first. If the attached telephone answers first, the system terminates the connection to the remote telephone. If the remote telephone answers first, the system bridges the incoming call to that telephone or, for three-way calling, simply drops off the connection. This system is limited in the number of other telephones that may be alerted, and involves installing and programming customer premises equipment that occupies space at or near the customer's telephone, and requires an additional line or coordination with three-way calling.
The complexity of the problem has recently increased in that a significant number of such persons now desire to be available not only via the public telephone network but also by Internet telephony through personal computer stations as well as public telephone network stations or terminals. While multicasting is known in the Internet the methodology generally relies upon routing protocols based on a distance-vector (sometimes also called path-vector) routing scheme such as that used in IDRP (Inter-Domain Routing Protocol):
Routing Information Protocol (RIP), as described by C. L. Hedrik in "Routing Information Protocol", RFC 1058 (Request for Comments), NIC (Network Information Center), June 1988.
Hello Routing Protocol, disclosed by D. L. Mills in "Experimental Multiple Path Routing Algorithm", RFC 981, NIC, March 1986.
Border Gateway Protocol (BGP), described by K. Lougheed and Y. Rekhter in "Border Gateway Protocol (BGP)", RFC 1163, NIC, June 1990.
Gateway-Gateway Protocol (GGP), as disclosed by R. M. Hinden and A. Sheltzer in "DARPA Internet Gateway", RFC 823, NIC, September 1982.
IP multicast algorithms have been developed primarily for use with the Routing Information Protocol as disclosed by C. L. Hedrik, cited above, but are usable with the other distance-vector routing algorithms as well. IP multicast algorithms (see, e.g., S. E. Deering and D. R. Cheriton, cited above; S. E. Deering: "Host Extensions for IP Multicasting", RFC 1112, NIC, August 1988; L. Hughes and P. Thomlinson: "A Multicast Internetwork Routing Algorithm". Proceedings of the IFIP WG 6.4 Conference on High Speed Networking, 18-22 March 1991, Berlin, pp. 183-200; D. Waltzman, C, Partridge, and S. E. Deering: "Distance Vector Multicast Protocol", RFC 1075, NIC, November 1988) are all variants of the Reverse Path Broadcasting algorithm described by Y. K. Dalai and R. M. Metcalfe in "Reverse Path Forwarding of Broadcast Packets", Communications of the ACM, Vol. 21, No. 12, pp. 1040-1048, ACM, December 1978. This algorithm is similar to the LAN multicast algorithm in that a spanning tree is used to distribute the multicast packets, however, it contains additional features to solve some of the problems associated with LAN multicasting. In brief, the algorithm works as follows (see S. E. Deering and D. R. Cheriton, cited above, for a more detailed description):
1. Multicast packets are initially broadcast to all subnetworks in the internetwork. Packets are broadcast on a least-cost spanning tree. When a router receives a multicast packet from some source "S", it knows that it is on the spanning tree for multicasts originating from S if its routing tables indicate that it can reach node S with a lower cost than all other routers attached to a given subnetwork (this information is available in the normal IP routing tables). If so, that router forwards the multicast packets on the subnetwork in question. It was shown by S. E. Deering and D. R. Cheriton, cited above, that this algorithm results in the multicast packet being distributed to each subnetwork in the internetwork with minimum cost.
An obvious improvement of this scheme compared to the LAN multicasting schemes is that while here the multicast spanning tree is fixed for a given source, it is not the same for all sources. Thus multicast traffic is distributed over many different paths in the network.
2. In order to avoid broadcasting multicast packets to subnetworks that do not have members in the specified group, a scheme is used whereby routers that receive a multicast for a particular group that do not lie on a branch of the multicast tree that leads to any members of that group discard the multicast (there is obviously no need to forward it) and report to the predecessor in the multicast tree that this branch of the tree may be pruned. This process begins with routers attached to "leaf subnetworks" (subnetworks that are at the end of their respective branches of the tree), and works its way up the branch as far as possible to restrict the distribution of multicast traffic to where it is required.
The IP multicast schemes have the following drawbacks:
Initially, multicasts from a given source to a given group must be broadcast to the entire internet until the multicast tree for that source-destination pair is pruned.
The scheme requires that information used for pruning the multicast trees be discarded after some time so that new members that join the network on a previously pruned tree branch will eventually start receiving the multicasts. Thus, multicasts trees are continuously rebuilt and repruned, creating considerable overhead on the network links and processing nodes.
Multicast trees exist for each source-multicast group pair. That is, a separate logical multicast tree exists for each different source that multicasts to a given group. Jelco routing nodes may have to maintain an extremely large database for pruned multicast trees.
For these reasons such protocols or algorithms seem unsuitable for use in the MPTN and similar architectures. A useful algorithm should be able to utilize the routing capabilities of gateways which have no multicast intelligence.
In general the above-described multicasting systems for use in the Internet are designed to deliver a specific message to a predetermined and specified number of destinations. The methodologies and systems employed do not lend themselves to economic and efficient use for solving the problem of establishing connection with one called party who may or may not be located at any one of a number of specified destinations or who may be mobile.